VOLE-PSI - Fast OPRF and Circuit-PSI from Vector-OLE
VOLE-PSI:来自向量不经意线性评估的快速 OPRF 和电路 PSI
在这项工作中,我们提出了一种基于 VOLE 和 PaXoS 数据结构的批量化不经意伪随机函数(OPRF)的新构造。然后,我们将其用于标准转换,以实现来自 OPRF 的隐私集合交集(PSI)。我们的整体构造是非常高效的,具有
1 介绍
我们考虑的是两方设置中的私有集交集(PSI)问题。这里,两个互不信任的当事人,一个是接收方,一个是发送方,各自持有一组标识符
一种常见的 PSI 方法是基于不经意的伪随机函数(OPRF)。OPRF 允许接收者输入
虽然 PSI 本身具有有趣的应用,例如私人联系人的发现 [Kis+17; DRRT18; Kal+19],但从实用的角度来看,PSI 的其他变体正在获得吸引力。例如,谷歌 [Ion+20] 和 Facebook [Bud+20] 都实现了 PSI 的变体,允许他们计算交集的函数,其中只有函数评估的结果和交集的大小被揭示,但没有交集本身。
这些具有计算的 PSI 协议的一般化产生了电路 PSI,其中输出并不透露给任何一方,而是在双方之间秘密共享的。更确切地说,接收方学习一个随机向量
1.1 贡献
PSI:我们提出了一个基于两个构件的私有集相交的协议(第 4 节)。第一个构件是一个被称为 VOLE 的协议,在图 2 中展示。对于这个组件,我们使用了 Schoppmann 等人 [SGRR19] 的协议的改进版本。第二个构件是一个线性系统求解器,例如 PaXoS [PRTY20],我们为我们的目的调整了它,如图 1 所示。以一种新的方式结合这两个基元,我们得到一个 OPRF 协议(图 4)。这个结构是非常高效的,在我们的计算效率版本中,每个输入需要摊销
从 OPRF 中很容易得到 PSI 协议,这是我们的最终目标。这最后一步显示在图 6 中。我们表明,这个众所周知的变换的恶意变体可以被优化,与现有技术 [PRTY20; CKT10] 相比,其开销减少了 50%。我们最终的 PSI 协议对半诚实的和恶意的对手都是安全的,我们提供了两种威胁模型的实现。该协议效率很高,在半诚实(或恶意)设置中只需要 5.4(或 6.2)秒和不到 54(或 59)MB 的通信。
电路 PSI:我们的第二个贡献是一个电路 PSI 的协议。在第 5 节中,我们表明将 PaXoS 求解器与任何 OPRF 协议一起使用会产生一个不经意的可编程 PRF(OPPRF)协议。鉴于此,我们在第 6 节中利用被称为布谷鸟哈希表的数据结构的额外帮助,构建最终协议。我们还在半诚实模型中实现了我们的电路 PSI 协议的两个变体,并表明它们的性能优于以前的最佳方法 [PSTY19]。
图 1:XoPaXoS 算法
1.2 符号
我们使用
1.3 概述
OPRF:我们现在介绍我们主要协议的简化版本。我们的核心构件是一个被称为(随机)VOLE 的函数,它允许各方对随机矢量
双方(隐含地)抽取一个指数级大的随机矩阵
为了实现安全,关键是接收方不能在任何其他点
PSI:然后我们采用我们的 OPRF 构造作为一个子程序来获得 PSI 协议。这种传统的转变指示接收者将他们的集合
可编程 OPRF:我们提出了我们的 OPRF 协议的扩展,以实现一个被称为可编程 OPRF(OPPRF)的函数 [PSTY19]。这个构件将允许发送方对 OPPRF 密钥
双方首先执行一个正常的 OPRF 协议,接收方输入他们的集合
电路 PSI:最后,我们提出了我们的电路 PSI 扩展,允许 PSI 的输出在双方之间秘密共享。我们的协议建立在 Pinkas 等人 [PSTY19] 以前的方法上,用我们的协议取代了他们的 OPPRF 结构。为了完整起见,我们在第 6 节中介绍了这个结构。
1.4 相关工作
早期的基于 OPRF/Diffie-Hellman(DH)的 PSI 协议从 20 世纪 80 年代就已经出现了 [Mea86],而且它们仍然是许多现代 PSI 协议的基础 [CT10; Ion+20; Bud+20]。基于 DH 的协议的优势在于其低通信成本和恒定的回合复杂度,然而这是以高计算开销为代价的。Schneider 等人 [PSSZ15] 提出了一个基于不经意传输扩展 [IKNP03](相对于基于 OPRF)的计算效率更高的协议,以及许多衍生协议 [PSZ14; KKRT16; RR17b; OOS17]。
最近,这两种范式开始融合,并提出了各种 OPRF 构造 [DCW13; KKRT16; RR17a; PRTY19; PRTY20; CM20],这些构造更接近于 [IKNP03]。所有这些都比 [Mea86] 有更高的通信成本,但它们大大减少了计算量。然而,正如 Chase 和 Miao [CM20] 的评估所示,协议的最佳选择往往取决于网络设置。我们的工作也遵循基于 OPRF 的方法,建立在 Pinkas 等人 [PRTY20] 最近的 PSI 协议上,但大大减少了通信。正如我们在第 7 节中的实验所显示的,我们的协议在带宽有限和大输入规模的环境中工作得特别好。关于 PSI 的不同方法的扩展概述,见 [Ion+20, 4.1 节] 和 [PSZ18, 1.2 节]。
第一个电路 PSI 协议完全基于通用技术,如乱码电路 [HEK12] 或 GMW [PSSZ15;PSZ18]。随后的工作改进了计算和通信 [CO18; PSWW18; PSTY19],而 Pinkas 等人的线性复杂度协议 [PSTY19] 形成了目前的技术水平。他们的协议结合了一个基于多项式插值的不经意可编程 PRF(OPPRF)和一个相对较小的 GMW 电路。我们的电路 PSI 协议遵循类似的方法,但使用了我们新的 OPRF 结构,以及基于 PaXoS [PTY20] 的新颖编程方式。
2 线性求解器和 PaXoS
我们的构造利用了线性系统求解器。如前所述,我们将使用这些求解器将我们的输入集
……
3 基于 VOLE 的 OPRF
3.1 VOLE
图 2 展示了 VOLE 函数
也就是说,
一个原始的 VOLE 生成器的实现是为每个
Schoppmann 等人 [SGRR19] 提供了原始 VOLE 生成器的第一个实现,同时,Boyle 等人 [Boy+19] 提供了二进制场上的双 VOLE 实现。最近,Yang 等人 [Yan+20] 对 Schoppmann 等人 [SGRR19] 的协议进行了改进,大大降低了通信开销。他们的主要观察结果是,原始的 VOLE 发生器通过将一个大小为
图 2:随机反转的向量不经意线性评估(vole)的理想函数
参数:有两方,一个发送方和一个接收方。令
函数:在收到发送方的
- 如果接收方是恶意的,等待他们发送
, 。采样 并计算 。否则, - 如果发送者是恶意的,等待他们发送
, . 采样 并计算 。否则, - 采样
, , 并计算 。
该函数向发送方发送
3.2 恶意安全的 OPRF
我们现在介绍我们在
首先,接收方将解决系统
作为集合 X 的函数。根据行的选择,这可以对应于多项式插值、布隆过滤器求解器、PaXoS 或其他一些快速求解器,见第 2 节。回顾一下,对于所有的
双方首先调用
发送方将其 PRF 函数定义为:
4 隐私集合交集
使用我们上一节的 OPRF 协议,我们现在通过图 6 所示的众所周知的转换得到一个 PSI 协议。图 5 中给出了 PSI 的理想函数。给定一个恶意或半诚实的 OPRF,这个变换分别实现了恶意或半诚实的安全。虽然一般的变换是已知的,并且被 [CKT10; DCW13; RR17a; PRTY19; PRTY20; CM20] 隐含地或明确地使用,但我们提供了一个在恶意设置中的严格分析,与 [CKT10; PRTY20] 相比,我们的通信减少了 20% 到 50%。
OPRF 到 PSI 的转换工作如下。PSI 的接收者将他们的集合
为了确保该协议的正确性,关键是
在恶意设置中,由于模拟器必须通过观察发件人的
存在不同的
我们现在提出一个新的提取程序,允许
我们的提取程序是只提取
定理 2:协议
证明:考虑一个恶意的发件人。模拟器与发件人的互动为:
- 模拟器扮演的是
的角色。模拟器观察所有的 信息。让 为所有此类 的集合。 - 当发送者发送
时,模拟器计算 并提取 并将 发送至 。
首先,在不存在任何
现在考虑一些碰撞
考虑一个恶意的接收器。模拟器如下:
- 模拟器扮演的角色是
。 - 当接收者向
发送 时,模拟器观察到 ,并像 那样将 发送回去。 - 模拟器将
转发到 ,并收到 作为回应。 - 模拟器将
计算为包含所有 以及来自 的 统一值,从 出来。模拟器发送 。
除了假项目是从
图 5: 隐私集合交集的理想函数
参数:有两方,一个发送方有一组
函数:在收到发送方的
该函数向接收器输出
图 6:实现 PSI 函数
参数:有两方,一个有集合
在半诚实的设置中,令
协议:
- 发送方发送
,接收方发送 到 。接收方收到 。 - 对于
,发送者向 发送 ,并接收回 。 - 发送方以随机顺序向接收方发送
。 - 接收者输出
。
5 可编程的 OPRF
我们现在把注意力转向构建我们的电路 PSI 协议。为了实现这一点,我们首先构建一种被称为遗忘的可编程 PRF(OPPRF)的协议。其函数如图 7 所示。发送方有一组输入对
……
6 电路 PSI
我们现在从我们的 OPPRF 构建一个电路 PSI 协议。我们的构造(图 10)建立在 Pinkas 等人 [PSTY19] 的方法上,使用了上一节中我们新颖的 XoPaXoS 和基于 VOLE 的 OPPRF。正如我们将在实验中看到的(第 7 节),与 [PSTY19] 相比,这意味着显著的速度提升。图 9 中给出了电路 PSI 的理想函数。它允许发送方和接收方输入一组关联值,这些关联值将与交集中的元素一起被秘密共享。与交集中的元素相对应的关联值可以在随后的任何 MPC 阶段使用,例如可以用来计算交集的和 [Ion+20] 或内积 [SGRP19]。
……
7 性能评估
7.1 理论对比
这里比较的所有协议主要是基于高效的对称密钥原语(DH-PSI 协议除外)并且可以用
……
7.2 实验评估
实施:我们用 C++ 实现我们所有的协议。我们使用 Schoppmann 等人 [SGRR19] 的 VOLE 实现的扩展版本,支持迭代引导 [Yan+20] 和恶意安全的一致性检查 [WYKW20],并假设具有规则噪声的 LPN [见 BCGI18;WYKW20]。在我们的 PaXoS 实现中,为了计算布谷鸟图的 2 核,我们使用了 igraph [Igr],并且我们依靠 libOTe [Rin] 来实现遗忘传输和我们电路 PSI 协议中使用的 GMW 实现。
为了将我们的协议与以前的工作 [KKRT16; CM20; PRTY20; PSTY19] 进行比较,我们在不同的网络设置下进行了实验。为此,我们使用了两个亚马逊 EC2 M5.2x 大型虚拟机,每个都有 8 个 2.5GHz 的内核和 32GiB 的内存。为了具有可比性,我们将每个协议限制在一个核心上。在局域网中,在没有任何人为限制的情况下,我们测量了机器之间的带宽为 5Gbps。对于带宽较低的设置,我们使用 Wondershaper [HGS] 来限制传入和传出的流量。
PSI:在这里,我们将我们的半诚实和恶意的 PSI 实现与 Kolesnikov 等人 [KKRT16]、Chase 和 Miao [CM20] 以及 Pinkas 等人 [PRTY20] 的作品进行比较。Kolesnikov 等人的协议 [KKRT16] 特别快,但有一个相对较大的通信开销。另一方面,Chase 和 Miao [CM20] 的半诚实协议具有较低的通信开销,但计算成本较高。最后,Pinkas 等人的 PaXoS 协议 [PRTY20] 具有快速计算的特点,但与 [CM20] 相比,通信量增加。我们没有与 SpOT-light 协议 [PTY19] 进行比较,因为 [CM20] 在高带宽环境下优于它,而我们的协议比 SpOT-low 的通信量还要低。
我们在半诚实环境下的评估结果见表 2。正如预期的那样,[KKRT16] 在局域网设置中优于所有其他协议,但在带宽减少的情况下效果较差。对于中等输入规模和带宽,[CM20] 和 [PRTY20] 有时优于我们的协议和 [KKRT16]。我们的协议在中低带宽环境下和大的输入规模下特别亮眼,考虑到其低通信成本,这是可以预期的。
在恶意设置中,技术现状由 [PRTY20] 提出。同样,我们比较了不同带宽设置下的通信和运行时间,并在表 3 中列出了我们的结果。虽然在局域网中,[PRTY20] 有时会优于我们的实现,但随着带宽的减少,我们的速度始终较快。
由于我们的协议所依据的矢量 OLE 实现使用了 Yang 等人 [Yan+20] 的迭代引导方法,我们的协议有一个独特的特点,即部分计算可以在一次性的、与数据无关的设置阶段进行。我们对这个设置阶段的实施可以通过调整 LPN 参数(以及引导迭代的大小)来改进,以适应输入集的大小。目前我们使用的是 [BCGI18; Yan+20] 的参数,没有进行任何额外的调整。在我们的表格中,我们用灰色强调了设置被摊销时的最佳协议。可以看出,在这种情况下,我们的协议更持续地优于以前的工作。
电路 PSI:我们还将我们的电路 - PSI 实现与最先进的协议 [PSTY19] 进行了比较。我们使用与 [PSTY19] 相同的布谷鸟散列参数,
与 [PSTY19] 一样,我们的构造在最后使用了一个通用的两方计算阶段(图 10 中的第 5 步)。我们实现了这个步骤的两个变体:一个使用标准的 IKNP OT 扩展 [IKNP03] 来实现 GMW 离线阶段,另一个使用更新的 SilentOT [Boy+19]。
我们在表 4 中的结果显示,我们的协议在高带宽和低带宽环境下都优于 [PSTY19]。由于主要的通信瓶颈是 GMW 阶段,SilentOT 的变体在低通信环境下效果特别好。在局域网中,我们的 IKNP 变体在运行时间上仍然优于 [PSTY19](他也使用了 IKNP),这显示了我们新的 OPPRF 构造的效率。
8 总结
在本文中,我们展示了如何将两个加密基元,即 VOLE 和线性系统求解器,如 (Xo) PaXoS,组合成高效的 O (P) PRF 和 PSI 协议。我们的最终协议在通信方面优于以前的工作,因此,在带宽受限的环境中运行时间方面也优于以前的工作。从理论的角度来看,我们提供了一个从 OPRF 到 PSI 的更有效的还原。
正如第 2 节中所讨论的,有许多方法可以实现我们所需要的 VOLE-PSI 的线性系统求解器。有一种方法是基于多项式插值的,它有可能导致最低的通信复杂度,但正如以前的工作所显示的,这是以昂贵的计算为代价的。本文提出的方法,使用 PaXoS,允许快速计算,但会产生较高的通信爆炸,渐进地
参考文献
- [App+17] Benny Applebaum, Ivan Damg ̊ard, Yuval Ishai, Michael Nielsen, and Lior Zichron. “Secure Arithmetic Computation with Constant Computational Overhead”. In: CRYPTO (1). Vol. 10401. Lecture Notes in Computer Science. Springer, 2017, pp. 223–254.
- [BCGI18] Elette Boyle, Geoffroy Couteau, Niv Gilboa, and Yuval Ishai. “Compressing Vector OLE”. In: ACM Conference on Computer and Communications Security. ACM, 2018, pp. 896–912.
- [BM74] Allan Borodin and R. Moenck. “Fast Modular Transforms”. In: J. Comput. Syst. Sci. 8.3 (1974), pp. 366–386.
- [Boy+19] Elette Boyle, Geoffroy Couteau, Niv Gilboa, Yuval Ishai, Lisa Kohl, Peter Rindal, and Peter Scholl. “Efficient Two-Round OT Extension and Silent Non-Interactive Secure Computation”. In: ACM Conference on Computer and Communications Security. ACM, 2019, pp. 291–308.
- [Bud+20] Prasad Buddhavarapu, Andrew Knox, Payman Mohassel, Shubho Sengupta, Erik Taubeneck, and Vlad Vlaskin. “Private Matching for Compute”. In: IACR Cryptol. ePrint Arch. 2020 (2020), p. 599.
- [CKT10] Emiliano De Cristofaro, Jihye Kim, and Gene Tsudik. “LinearComplexity Private Set Intersection Protocols Secure in Malicious Model”. In: ASIACRYPT. Vol. 6477. Lecture Notes in Computer Science. Springer, 2010, pp. 213–231.
- [CM20] Melissa Chase and Peihan Miao. “Private Set Intersection in the Internet Setting from Lightweight Oblivious PRF”. In: CRYPTO (3). Vol. 12172. Lecture Notes in Computer Science. Springer, 2020, pp. 34–63.
- [CO18] Michele Ciampi and Claudio Orlandi. “Combining Private SetIntersection with Secure Two-Party Computation”. In: SCN. Vol. 11035. Lecture Notes in Computer Science. Springer, 2018, pp. 464–482.
- [CT10] Emiliano De Cristofaro and Gene Tsudik. “Practical Private Set Intersection Protocols with Linear Complexity”. In: Financial Cryptography. Vol. 6052. Lecture Notes in Computer Science. Springer, 2010, pp. 143–159.
- [DCW13] Changyu Dong, Liqun Chen, and Zikai Wen. “When private set intersection meets big data: an efficient and scalable protocol”. In: ACM Conference on Computer and Communications Security. ACM, 2013, pp. 789–800.
- [DRRT18] Daniel Demmler, Peter Rindal, Mike Rosulek, and Ni Trieu. “PIRPSI: Scaling Private Contact Discovery”. In: Proc. Priv. Enhancing Technol. 2018.4 (2018), pp. 159–178.
- [Gil99] Niv Gilboa. “Two Party RSA Key Generation”. In: CRYPTO. Vol. 1666. Lecture Notes in Computer Science. Springer, 1999, pp. 116–129.
- [HEK12] Yan Huang, David Evans, and Jonathan Katz. “Private Set Intersection: Are Garbled Circuits Better than Custom Protocols?” In: NDSS. The Internet Society, 2012.
- [HGS] Bert Hubert, Jacco Geul, and Simon S ́ehier. wondershaper: Command-line utility for limiting an adapter’s bandwidth. url: https: //github.com/magnific0/wondershaper.
- [Igr] igraph: Library for the analysis of networks. url: https : / / github.com/igraph/igraph.
- [IKNP03] Yuval Ishai, Joe Kilian, Kobbi Nissim, and Erez Petrank. “Extending Oblivious Transfers Efficiently”. In: CRYPTO. Vol. 2729. Lecture Notes in Computer Science. Springer, 2003, pp. 145–161.
- [Ion+20] Mihaela Ion, Ben Kreuter, Ahmet Erhan Nergiz, Sarvar Patel, Shobhit Saxena, Karn Seth, Mariana Raykova, David Shanahan, and Moti Yung. “On Deploying Secure Computing: Private Intersection-Sum-with-Cardinality”. In: EuroS&P. IEEE, 2020, pp. 370–389.
- [Kal+19] Daniel Kales, Christian Rechberger, Thomas Schneider, Matthias Senker, and Christian Weinert. “Mobile Private Contact Discovery at Scale”. In: USENIX Security Symposium. USENIX Association, 2019, pp. 1447–1464.
- [Kis+17] ́ Agnes Kiss, Jian Liu, Thomas Schneider, N. Asokan, and Benny Pinkas. “Private Set Intersection for Unequal Set Sizes with Mobile Applications”. In: Proc. Priv. Enhancing Technol. 2017.4 (2017), pp. 177–197.
- [KKRT16] Vladimir Kolesnikov, Ranjit Kumaresan, Mike Rosulek, and Ni Trieu. “Efficient Batched Oblivious PRF with Applications to Private Set Intersection”. In: ACM Conference on Computer and Communications Security. ACM, 2016, pp. 818–829.
- [KS12] Kazuki Kobayashi and Tomoharu Shibuya. “Generalization of Lu’s linear time encoding algorithm for LDPC codes”. In: ISITA. IEEE, 2012, pp. 16–20.
- [LM10] Jin Lu and Jos ́e M. F. Moura. “Linear time encoding of LDPC codes”. In: IEEE Trans. Inf. Theory 56.1 (2010), pp. 233–249.
- [Mea86] Catherine A. Meadows. “A More Efficient Cryptographic Matchmaking Protocol for Use in the Absence of a Continuously Available Third Party”. In: IEEE Symposium on Security and Privacy. IEEE Computer Society, 1986, pp. 134–137.
- [OOS17] Michele Orr` u, Emmanuela Orsini, and Peter Scholl. “Actively Secure 1-out-of-N OT Extension with Application to Private Set Intersection”. In: CT-RSA. Vol. 10159. Lecture Notes in Computer Science. Springer, 2017, pp. 381–396.
- [PRTY19] Benny Pinkas, Mike Rosulek, Ni Trieu, and Avishay Yanai. “SpOT-Light: Lightweight Private Set Intersection from Sparse OT Extension”. In: CRYPTO (3). Vol. 11694. Lecture Notes in Computer Science. Springer, 2019, pp. 401–431.
- [PRTY20] Benny Pinkas, Mike Rosulek, Ni Trieu, and Avishay Yanai. “PSI from PaXoS: Fast, Malicious Private Set Intersection”. In: EUROCRYPT (2). Vol. 12106. Lecture Notes in Computer Science. Springer, 2020, pp. 739–767.
- [PSSZ15] Benny Pinkas, Thomas Schneider, Gil Segev, and Michael Zohner. “Phasing: Private Set Intersection Using Permutation-based Hashing”. In: USENIX Security Symposium. USENIX Association, 2015, pp. 515–530.
- [PSTY19] Benny Pinkas, Thomas Schneider, Oleksandr Tkachenko, and Avishay Yanai. “Efficient Circuit-Based PSI with Linear Communication”. In: EUROCRYPT (3). Vol. 11478. Lecture Notes in Computer Science. Springer, 2019, pp. 122–153.
- [PSWW18] Benny Pinkas, Thomas Schneider, Christian Weinert, and Udi Wieder. “Efficient Circuit-Based PSI via Cuckoo Hashing”. In: EUROCRYPT (3). Vol. 10822. Lecture Notes in Computer Science. Springer, 2018, pp. 125–157.
- [PSZ14] Benny Pinkas, Thomas Schneider, and Michael Zohner. “Faster Private Set Intersection Based on OT Extension”. In: USENIX Security Symposium. USENIX Association, 2014, pp. 797–812.
- [PSZ18] Benny Pinkas, Thomas Schneider, and Michael Zohner. “Scalable Private Set Intersection Based on OT Extension”. In: ACM Trans. Priv. Secur. 21.2 (2018), 7:1–7:35.
- [Rin] Peter Rindal. libOTe: A fast, portable, and easy to use Oblivious Transfer Library. url: https://github.com/osu- crypto/ libOTe.
- [RR17a] Peter Rindal and Mike Rosulek. “Improved Private Set Intersection Against Malicious Adversaries”. In: EUROCRYPT (1). Vol. 10210. Lecture Notes in Computer Science. 2017, pp. 235259.
- [RR17b] Peter Rindal and Mike Rosulek. “Malicious-Secure Private Set Intersection via Dual Execution”. In: ACM Conference on Computer and Communications Security. ACM, 2017, pp. 1229–1242.
- [SGRP19] Phillipp Schoppmann, Adri`a Gasc ́on, Mariana Raykova, and Benny Pinkas. “Make Some ROOM for the Zeros: Data Sparsity in Secure Distributed Machine Learning”. In: ACM Conference on Computer and Communications Security. ACM, 2019, pp. 13351350.
- [SGRR19] Phillipp Schoppmann, Adri`a Gasc ́on, Leonie Reichert, and Mariana Raykova. “Distributed Vector-OLE: Improved Constructions and Implementation”. In: ACM Conference on Computer and Communications Security. ACM, 2019, pp. 1055–1072.
- [WYKW20] Chenkai Weng, Kang Yang, Jonathan Katz, and Xiao Wang. “Wolverine: Fast, Scalable, and Communication-Efficient ZeroKnowledge Proofs for Boolean and Arithmetic Circuits”. In: IACR Cryptol. ePrint Arch. 2020 (2020), p. 925.
- [Yan+20] Kang Yang, Chenkai Weng, Xiao Lan, Jiang Zhang, and Xiao Wang. “Ferret: Fast Extension for Correlated OT with Small Communication”. In: CCS. ACM, 2020, pp. 1607–1626.